Electronic program guide (EPG) information is communicated to a set top box (STB) using a dedicated data channel. The EPG information may include, but is not limited to, the scheduled presentation start and/or end time, the program channel, and descriptive information for the program. The program's descriptive information may include the title of the program, names of performers or actors, date of creation, and/or a summary describing the plot or story line of the program. Any suitable information may be included in the program information.
A tuner in the STB “tunes” to the EPG data channel and collects the EPG information, which is stored in memory of the STB. The EPG information is communicated in a serial fashion to the STB, and thus, has a beginning and an end. For example, the EPG information may start with “program channel 1” and provide programming information for a predefined number of days or the like for that particular channel. Next, EPG information for “program channel 2” for the predefined number of days or the like may follow, and so on, until the EPG information for all “program channels” has been communicated to the STB. The communication of the EPG information then starts again at the beginning of the EPG information. In some instances, the EPG information may simply be repeated. At other times, the EPG information may be updated and then communicated. This looped, periodically repeating communication of the entire EPG information is referred to as a “carousel” EPG information format.
If the STB begins receiving the EPG information midway during the communication of the “carousel” of EPG information, the STB understands that a complete set of EPG information has been received when it has gone through the entire carousel of EPG information. That is, the entire carousel of EPG information has been received when the received EPG information has returned to its initial entry point into the carousel of EPG information.
While the STB is receiving the EPG information, or once the STB has received a full set of EPG information, the STB can construct and display an EPG to a viewer on their viewing device, such as a television or the like. If the entire carousel of EPG information has not yet been received, a partial EPG may be constructed and presented to the viewer.
The viewer is able to interactively scroll about the EPG to view available programming on a program channel of interest. Also, the viewer is able to navigate about the EPG to view scheduled programming at future times of interest on selected program channels of interest. Some EPGs are configured to, based upon commands received from a remote control, cooperatively work with a remote control so that the viewer may request selected operations on a program of interest that is highlighted on the EPG. For example, the viewer may select a record feature on their remote control unit such that the highlighted program on the EPG is recorded by a digital video recorder (DVR) in the STB.
When the EPG is not available in the STB memory, the STB must acquire the entire amount of EPG information and store it in memory. This situation may occur when the STB is initialized, if the EPG is outdated, or if the EPG information has been corrupted. This process of acquiring an entire carousel of EPG information requires a significant amount of time because of the large amount of data associated with the entire carousel of EPG information. Further, storing the entire carousel of EPG information that encompasses a relatively long period of time, such as several days or weeks, utilizes a large portion of the STB's dynamic memory capacity.
At some point, the stored EPG information must be updated (refreshed) to remove information regarding programming that has already been presented, and to acquire updates pertaining to future scheduled programming. If some or all of the EPG information has already been stored in the STB's memory, then the STB can monitor the communicated EPG information and simply add EPG information updates as needed to keep a current EPG database of programming information. However, receiving a full set of EPG information updates still requires the STB to monitor the entirety of the communicated carousel of EPG information. Thus, obtaining EPG information updates requires substantially the same amount of time that is required for acquiring the new set of EPG information.
Accordingly, there is a need to provide for more efficient and faster acquisition of EPG information.